//package com.huatai.datacenter.controller.topicmonitor.rmq;
//
//import com.huatai.common.api.R;
//import com.huatai.datacenter.entity.messagequeuemonitor.LagRecordQueryDTO;
//import com.huatai.datacenter.entity.messagequeuemonitor.PageResult;
//import com.huatai.datacenter.service.RMQMonitorService;
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.web.bind.annotation.GetMapping;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RequestParam;
//import org.springframework.web.bind.annotation.RestController;
//
//import java.util.Set;
//
///**
// * 用于消息队列消费情况监控的Controller层，RocketMQ的
// *
// * @author lizhong
// */
//@Slf4j
//@RestController("RMQTopicMonitorController")
//@RequestMapping("/MQMonitor/rmq") /*MQ = MessageQueue消息队列*/
//@Api(value = "RMQ消息队列消费监控", tags = "RMQ消息队列消费监控")
//public class TopicMonitorController {
//
//	@Autowired
//	private RMQMonitorService rmqMonitorService;
//
//	/**
//	 * 获取RMQ所有主题（不包括系统的主题）
//	 *
//	 * @param skipSysProcess  可省略的参数
//	 * @param skipRetryAndDlq 可省略的参数
//	 * @return 所有主题的列表Set
//	 * @author lizhong
//	 */
//	@GetMapping("/allTopicsRMQ")
//	@ApiOperation("获取RMQ所有主题")
//	public R<Set<String>> allTopics(@RequestParam(value = "skipSysProcess", required = false) boolean skipSysProcess,
//									@RequestParam(value = "skipRetryAndDlq", required = false) boolean skipRetryAndDlq) {
//
//		try {
//			return R.data(rmqMonitorService.getTopicListRMQ(skipSysProcess, skipRetryAndDlq));
//		} catch (Exception e) {
//			log.error("get all topics error, ", e);
//		}
//		return R.fail("get all topics error! Please check");
//	}
//
//	/**
//	 * 获取所有堆积消息 RMQ
//	 *
//	 * @return 所有主题消费情况的列表
//	 */
//	@ApiOperation("获取所有主题消费情况的列表，首页展示")
//	@GetMapping
//	public R<PageResult> list() {
//		try {
//			log.info("首页展示所有主题消费情况");
//			return R.data(rmqMonitorService.listAllConsumeStatRMQ());
//		} catch (Exception e) {
//			log.error("get lag msg error, ", e);
//		}
//		return R.fail("get lag msg error! Please check");
//	}
//
//	/**
//	 * 获取一个(topic, broker, consumerGroup)下的所有堆积消息 RMQ
//	 *
//	 * @param lagRecordQueryDTO (topic, broker, consumerGroup)
//	 * @return 一个(topic, broker, consumerGroup)下的所有堆积消息
//	 */
//	@ApiOperation("获取一个(topic, broker, consumerGroup)下的所有堆积消息 Kafka")
//	@GetMapping("/getLagRecordKafka")
//	public R<PageResult> getLagRecordListKafka(LagRecordQueryDTO lagRecordQueryDTO) {
//		try {
//			log.info("堆积消息查询: {}", lagRecordQueryDTO);
//			return R.data(rmqMonitorService.getLagRecordListRMQ(lagRecordQueryDTO));
//		} catch (Exception e) {
//			log.error("get lag msg error, ", e);
//		}
//		return R.fail("get lag msg error! Please check");
//	}
//}
